
// __inval_dcache_area(kaddr, size) - 无效化 dcache
.global __inval_dcache_area; .align 2; __inval_dcache_area: __dma_inv_area:
    add	x1, x1, x0
    dcache_line_size x2, x3
    sub	x3, x2, #1
    tst	x1, x3
    bic	x1, x1, x3
    b.eq	1f
    dc	civac, x1
1:	tst	x0, x3
    bic	x0, x0, x3
    b.eq	2f
    dc	civac, x0
    b	3f
2:	dc	ivac, x0
3:	add	x0, x0, x2
    cmp	x0, x1
    b.lo	2b
    dsb	sy
    ret
.type __inval_dcache_area, @function; .size __inval_dcache_area, .-__inval_dcache_area
.type __dma_inv_area, @function; .size __dma_inv_area, .-__dma_inv_area
